package cn.com.anypay.manager.service;

import java.util.Map;

/**
 * 支付宝用户授权服务接口
 */
public interface UserAuthService {

    /**
     * 构建支付宝授权地址
     * @param appId 支付宝应用ID
     * @param redirectUri 回调地址
     * @return 授权URL
     */
    String buildAuthUrl(String appId, String redirectUri);

    /**
     * 通过授权码获取访问令牌
     * @param appId 支付宝应用ID
     * @param authCode 授权码
     * @param privateKey 私钥
     * @return 包含access_token、user_id等信息的授权结果
     */
    Map<String, Object> exchangeAuthCodeForToken(String appId, String authCode, String privateKey);

    /**
     * 获取用户详细信息
     * @param appId 支付宝应用ID
     * @param accessToken 访问令牌
     * @param privateKey 私钥
     * @return 包含用户昵称、头像等信息的用户资料
     */
    Map<String, Object> getUserProfile(String appId, String accessToken, String privateKey);
}